﻿using System;
using System.Xml.Linq;

namespace ifunction.SqlDeployConsole.Core
{
    /// <summary>
    /// Class for solution
    /// </summary>
    public class Solution
    {
        /// <summary>
        /// Gets or sets the name.
        /// </summary>
        /// <value>
        /// The name.
        /// </value>
        public string Name
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the connection setting.
        /// </summary>
        /// <value>
        /// The connection setting.
        /// </value>
        public ConnectionStringModel ConnectionSetting
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the full XML.
        /// </summary>
        /// <value>
        /// The full XML.
        /// </value>
        public XElement FullXml
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the full target version.
        /// </summary>
        /// <value>
        /// The full target version.
        /// </value>
        public Version FullTargetVersion
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the incremental XML.
        /// </summary>
        /// <value>
        /// The incremental XML.
        /// </value>
        public XElement IncrementalXml
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the incremental target version.
        /// </summary>
        /// <value>
        /// The incremental target version.
        /// </value>
        public Version IncrementalTargetVersion
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the included XML.
        /// </summary>
        /// <value>
        /// The included XML.
        /// </value>
        public XElement IncludedXml
        {
            get;
            set;
        }
    }
}
